<!DOCTYPE html>
<!--
-- ━━━━━━神兽出没━━━━━━
--  　　　┏┓　　　┏┓
--  　　┏┛┻━━━┛┻┓
--  　　┃　　　　　　　┃
--  　　┃　　　━　　　┃
--  　　┃　┳┛　┗┳　┃
--  　　┃　　　　　　　┃
--  　　┃　　　┻　　　┃
--  　　┃　　　　　　　┃
--  　　┗━┓　　　┏━┛
--  　　　　┃　　　┃  神兽保佑
--  　　　　┃　　　┃  代码无bug　　
--  　　　　┃　　　┗━━━┓
--  　　　　┃　　　　　　　┣┓
--  　　　　┃　　　　　　　┏┛
--  　　　　┗┓┓┏━┳┓┏┛
--  　　　　　┃┫┫　┃┫┫
--  　　　　　┗┻┛　┗┻┛
-- ━━━━━━感觉萌萌哒━━━━━━
-->
<!doctype html>
<html>
<head></head>
<body>
<div id="box" style="width:256px;font:25px/25px 宋体;background:#000;color:#9f9;"></div>
<script>
  var arr = [15];
  var next = 10;//最好判断一下arr[1]!=arr[0]+x
  document.onkeydown = function (e) {
    next = {'37': -1, '39': 1, '38': -10, '40': 10}[(e ? e : event).keyCode]
  };
  var run = setInterval(function () {
    var list = ['-1&&arr[0]%10==0', '1&&arr[0]%10==9', '-10&&arr[0]<10', '10&&arr[0]>189'];
    var temp = arr[0] + next;
    if (list.some(function (x) {
      return eval('next==' + x)
    }) || arr.indexOf(temp) >= 0)
      return clearInterval(run) || alert('OVER');
    arr.unshift(temp);
    if (this.food == null || food == temp) {
      list = [];//(list=Array(200)).forEach(function(val,i){list[i]=i});
      for (var i = 0; i < 200; i++)
        list.push(i);
      list = list.filter(function (x) {
        return arr.indexOf(x) < 0
      });
      food = list[Math.round(Math.random() * (list.length - 1))];//food是全局变量
    }
    else
      arr.pop();
    var s = '';
    for (var j = 0; j < 200; j++) {//这个循环还可以缩短
      if (j % 10 == 0 && j != 0)
        s += '<br/>';
      if (arr.indexOf(j) >= 0)
        s += '\u25a0';
      else if (j == food)
        s += '\u2605';
      else
        s += '&emsp;';
    }
    document.getElementById("box").innerHTML = s;
  }, 200);
</script>
</body>
</html>
